package com.epam.web_project.bank.dao.transaction_dao;

import java.util.List;

import com.epam.web_project.bank.entity.Account;
import com.epam.web_project.bank.entity.Customer;
import com.epam.web_project.bank.entity.Transaction;
import com.epam.web_project.bank.exception.UnimplemetedException;

public interface TransactionDAO {
	//transfer from account to account
	public String save(Transaction transaction);
	//admin puts money on an account
	public String adminSave(Transaction transaction); 
	public boolean markDeleted(Transaction transaction) throws UnimplemetedException;
	public List<Transaction> findByAccountFrom(Account account);
	public List<Transaction> findByAccountTo(Account account);
	public List<Transaction> findIncomingByCustomer(Customer customer) throws UnimplemetedException;
	public List<Transaction> findOutgoingByCustomer(Customer customer) throws UnimplemetedException;
}
